package cc.spider.web.parser;

import org.jsoup.nodes.Document;

import java.util.Map;

public class JsoupParser implements IParser, ISelector<JsoupElement, JsoupElements> {
    private JsoupElement jsoupElement;

    public JsoupParser(String content, String baseUri) {
        Document doc = new Document(baseUri);
        jsoupElement = new JsoupElement(doc.html(content));
    }

    @Override
    public Map<String, String> attrs() {
        return jsoupElement.attrs();
    }

    @Override
    public String attr(String attrName) {
        return jsoupElement.attr(attrName);
    }

    @Override
    public String content() {
        return jsoupElement.content();
    }

    @Override
    public String source() {
        return jsoupElement.source();
    }

    @Override
    public JsoupElement query(String selector) {
        return jsoupElement.query(selector);
    }

    @Override
    public JsoupElements queryAll(String selector) {
        return jsoupElement.queryAll(selector);
    }

    @Override
    public JsoupElements children() {
        return jsoupElement.children();
    }

    @Override
    public JsoupElements children(String selector) {
        return jsoupElement.children(selector);
    }

    public IElement<JsoupElement, JsoupElements> getElement(){
        return jsoupElement;
    }
}
